package com.thinvent.nj.ais.entity;



import com.thinvent.nj.mybatis.entity.BaseOracleEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 用户实体
 */
public class User extends BaseOracleEntity {

    public User() {}

    public User(String id) {
        setId(id);
    }

    // 用户名（登录名）
    private String username;

    // 登录密码
    private String password;

    // 盐
    private String salt;

    // 用户姓名
    private String fullName;

    // 生日
    private Date birthday;

    // 性别（1：男；2：女；3：其他；4：保密）
    private Integer sex;

    // 头像
    private String icon;

    // 电子邮箱
    private String email;

    // 联系电话
    private String phone;

    // 地址
    private String address;

    // 用户状态(0: 停用；1：启用)
    private String status;

    // 排序
    private Integer sort;

    // 备注
    private String remarks;

    // 用户所属组织
    private List<Org> orgList;

    // 用户所属角色
    private List<Role> roleList;

    // 用户关联资源列表
    private List<Resource> resourceList;

    // 用户所属菜单（已被格式化为树形结构）
    private List<Map<String, Object>> menus;

    // 用户附带的参数（扩展用）
    private Map<String, Object> params;

    private String token;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }


    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public List<Org> getOrgList() {
        return orgList;
    }

    public void setOrgList(List<Org> orgList) {
        this.orgList = orgList;
    }

    public List<Role> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<Role> roleList) {
        this.roleList = roleList;
    }

    public List<Resource> getResourceList() {
        return resourceList;
    }

    public void setResourceList(List<Resource> resourceList) {
        this.resourceList = resourceList;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public List<Map<String, Object>> getMenus() {
        return menus;
    }

    public void setMenus(List<Map<String, Object>> menus) {
        this.menus = menus;
    }

    public Map<String, Object> getParams() {
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }
}
